/*
 * @lc app=leetcode.cn id=187 lang=cpp
 *
 * [187] 重复的DNA序列
 */

// @lc code=start
class Solution {
public:
    vector<string> findRepeatedDnaSequences(string s) {
        //哈希表存储长度为10的子串出现几次
        //当字符串为空时，s.size()返回值为size_type
        //s.size() - 1是一个很大的数
        unordered_map<string,int> cnt;
        for(int i = 0; i + 10 <= s.size(); i++){
            cnt[s.substr(i, 10)]++;
        }
        vector<string> ans;
        for(auto [x, y] : cnt){
            if(y > 1) ans.push_back(x);
        }
        return ans;
    }
};
// @lc code=end

